import {useNavigate} from 'react-router-dom'

// 封装一个高阶组件来使类组件中可以获取到 navigate
function WithRouter(WrapperComponent) {
  // 返回一个新的函数组价
 function EnhanceComponent(props) {
  	// 在函数组件中调用 useNavigate Hook，将结果作为 props 传入
    const navigate = useNavigate()
    const router = {navigate}
    return <WrapperComponent {...props} router={router} />
  }
  return EnhanceComponent
}

export default WithRouter